IP Multimedia Subsystem (IMS) is a 3rd Generation Partnership Project (3GPP) standardised network architecture that provides an access network independent standardised interface for creating services, charging mechanisms and better Quality of Service (QoS) than best effort. Examples of the services that are implemented on IMS at the moment are PSTN functionality, Push-to-talk over cellular (PoC), Presence, Instant messaging and video sharing.
A Converged IP Messaging (CPM) workgroup inside the Open Mobile Alliance, OMA, aims to remove the silos between traditional messaging services caused by technical differences, and provide users with a smooth, unified service experience. The OMA CPM is a messaging framework which accommodates different user experiences such as deferred and immediate messaging, session-based messaging, and half-duplex or full-duplex conferencing. The objective of OMA CPM is to consolidate common functionalities of existing messaging services and new features introduced by the convergence of communications brought by session initiation protocol (SIP) based technologies. The OMA CPM also interacts with other OMA enablers. Interworking with legacy messaging services like SMS and MMS permits CPM to be interesting from the start, as it does not rely only on the initially limited IMS community to deliver its services
The page mode messaging, which is based on the SIP method MESSAGE can be seen as the equivalent to SMS in the SIP/IMS world. A user can send a page mode short message to another user or a group of users. This message is either delivered instantly over the IMS core network or stored for deferred delivery if the recipient is not available. The session-based messaging is based on a SIP session, with messages delivered through a protocol called MSRP. Session-based messaging essentially serves two requirements that cannot be fulfilled by page mode messaging: the support of chats, in which messages are exchanged between two or more parties within a dialog context; the possibility to send large volume files like music or video clips. In addition, session-based messaging has two important benefits: it minimizes SIP control traffic to session management, and utilizes a specific protocol for the messages itself, permitting to implement an appropriate support in the network; by reusing the concept of SIP session, it permits messaging to be one component among others in a multimedia session. The scope of multimedia communication supported by CPM is very broad, including discrete and continuous media, such as text, images, binary files, audio, video.
These aims are defined in the document “Converged IP Messaging Requirements, Candidate Version 1.0”, 6 Nov. 2007 (OMA-RD-CPM-V1—0-20071106-C).
The document “OMA Converged IP Messaging System Description, Draft Version 1.0”, 25 Mar. 2008 (OMA-TS-CPM_System_Description-V—0-20080325-D) defines a feature called “CPM Conversation”, which is association of standalone CPM messages and CPM sessions with the CPM messages and media exchanged within it.
“CPM Conversation” is the exchange of CPM Messages and/or CPM Sessions, associated with each other due to common characteristics, between two or more participants (e.g. CPM users or applications). A CPM Conversation where one participant communicates with another participant may be called a 1-1 CPM Conversation. A CPM Conversation with many participants and in which all participants communicate with one another may be called a 1-N CPM Conversation.
A CPM Conversation is constituted by any number of CPM Messages and CPM Sessions. The CPM Conversation represents the “live” information exchange that participants can have exploiting the CPM enabler functionalities, where this information can be associated together by common characteristics. Examples of principals include an individual user, a group of individuals, a corporation, service enablers/applications, system entities and other legal entities.
A CPM message is information of a discrete nature that can contain several discrete media (e.g. text, images, audio-clips, video-clips). A CPM message can be sent within or outside a CPM session, where a CPM session represents a logical connection between two or more participants established for a finite duration. In a CPM Session, the participants can also exchange continuous media that due to the continuous nature of this type of information requires a logical connection (i.e. with a beginning and an end) to be set up and maintained between CPM participants. A user may be able to participate in several CPM conversations in parallel.
A CPM user may be able to set preferences for the message handling mechanism used by the CPM network in case the CPM user is not available for receiving the CPM message (e.g. not registered in the home network, user does not wish to receive it immediately). Such preferences may include, for example, to discard the CPM message while providing a notification to the sender based on service provider policies and sender's preferences, to defer the CPM message, or to store the CPM message in a network-based storage. The network-based storage may a Message and Media Storage component that archives everything that needs to be archived. For example, the CPM network may support one or more of the following storage functionalities: storage of user's contact list; storage of media; storage of conversations and CPM Messages and media related to conversations; storage of history for single messages and conversations (stored with contact, time, messages, shared media to allow filtering of histories to user's views); synchronization of contacts, media, conversations, etc. This storage capability may be controlled by user preferences and service provider policies.
FIG. 1 illustrates the concepts of a CPM conversation and a CPM thread and the relationship between them. Authorized users can capture and store the information that they have been exchanging during a CPM a conversation as a CPM thread in a network-based storage provided by a CPM service provider. As such, a CPM message may become stored and continuous media may become stored (e.g. voice-clip, video-clip). When the stored CPM messages and the stored media are part of the same CPM session, they are associated together in the network-based storage as a CPM Session History. Stated in another manner, a CPM thread can be described as CPM session histories and stored CPM Messages, derived respectively from the CPM sessions and any CPM messages exchanged outside a CPM session during a CPM conversation.
It is also desired the CPM-enabled devices be able to present the stored CPM messages and CPM session histories belonging to a CPM thread in a threaded view according to the user's preferences. To that end there should be means to recognize CPM messages and CPM sessions as part of a CPM conversation.